package bit;

import java.io.*;
import java.util.ArrayList;

/**
 * @author ZJX
 * @version 1.0
 * @descption
 * @since 2025/11/17 08:30
 */
public class Day25 {
//    public static void main(String[] args) throws IOException {
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        PrintWriter out = new PrintWriter(System.out);
//        String s = br.readLine();
//        int max = 0;
//        int min = Integer.MAX_VALUE;
//        HashMap<Character, Integer> map = new HashMap<>();
//        for (char c : s.toCharArray()) {
//            int count = map.getOrDefault(c, 0) + 1;
//            map.put(c, count);
//            if (count > max) {
//                max = count;
//            }
//            if (count < min) {
//                min = count;
//            }
//        }
//        int diff = max - min;
//
//        if (isPrime(diff)) {
//            out.println("Lucky Word");
//            out.println(diff);
//        } else {
//            out.println("No Answer");
//            out.println(0);
//        }
//        out.close();
//    }

    // 快速判断是否为质数
    public static boolean isPrime(int num) {
        // 处理小于2的数
        if (num <= 1) {
            return false;
        }
        // 2是唯一的偶数质数
        if (num == 2) {
            return true;
        }
        // 排除所有偶数
        if (num % 2 == 0) {
            return false;
        }
        // 遍历至根号num，步长为2（只判断奇数）
        for (int i = 3; i <= Math.sqrt(num); i += 2) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }

    public boolean hostschedule(ArrayList<ArrayList<Integer>> schedule) {
        schedule.sort((a, b) -> a.get(0) - b.get(0));
        for (int i = 1; i < schedule.size(); i++) {
            int oldEnd = schedule.get(i - 1).get(1);
            int newStart = schedule.get(i).get(0);
            if (newStart < oldEnd) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) throws IOException {
        StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        PrintWriter out = new PrintWriter(System.out);
        in.nextToken();
        int n = (int) in.nval; // 数组长度
        int[] nums = new int[n];
        int sum = 0;
        for (int i = 0; i < n; i++) {
            in.nextToken();
            nums[i] = (int) in.nval;
            sum += nums[i];
        }
        if (sum % 2 != 0) {
            out.println("false");
            out.close();
        }
        int target = sum / 2;
        boolean[] dp = new boolean[target + 1];
        dp[0] = true;
        for (int num : nums) {
            for (int i = target; i >= num; i--) {
                dp[i] = dp[i] || dp[i - num];
            }
        }
        out.println(dp[target]);
        out.close();
    }
}

